package com;

import java.util.ArrayList;
import java.util.Collection;

/**
 * Collection 类是最大的,也就意味着, Collection 中定义的方法规定是 List 和 Set都有的
 * 
 * 集合中,只能存储单个元素,并且只能保存引用数据类型,保存 Object
 * 
 * 能放 Object 就意味着什么都能放,因为多态
 * 
 * Colletion 接口针对所有集合定义如下方法 :
 * 		boolean add() 添加元素
 * 		void clear() 清空集合
 * 		boolean remove() 删除某一个元素
 * 		boolean isEmpty() 判断集合是否为空
 * 		boolean contains() 是否包含某个元素
 * 		int size() 元素个数
 * 
 * 		Object[] toArray() : 把集合转换为数组
 * 
 * Interator 迭代器
 * 
 * @author lenovo
 * @Date 2020年7月16日
 * @Time 下午6:56:22
 */
public class Collection_01 {

	public static void main(String[] args) {
		// 创建集合
		Collection c1 = new ArrayList();

		// 自动装箱为 Integer 类型,然后向上转型为 Object 类型,发生多态
		c1.add(1);
		c1.add(1);
		c1.add(1);
		c1.add(1);
		c1.add(1.2);
		c1.add(true);
		c1.add(new Collection_01());
		c1.add(new Object());
		System.out.println(c1.size());// 8
		System.out.println(c1.isEmpty());// false

		// 直接遍历集合
		for (Object object : c1) {
			System.out.println(object);
		}
//		1
//		1
//		1
//		1
//		1.2
//		true
//		com.Collection_01@15db9742
//		java.lang.Object@6d06d69c

		// 把集合转换为 Object 数组,再遍历
		Object[] arr = c1.toArray();
		for (Object object : arr) {
			System.out.println(object);
		}

		c1.clear();
		System.out.println(c1.size());// 0
	}

}
